package com.shujia.innerclass_;

/*
成员内部类
 */
public class Outter3 {

    private String name = "ww";

    public static void main(String[] args) {
        Outter3 outter3 = new Outter3();
        outter3.useInner();
    }

    public void useInner() {
        // 外部类里面使用内部类, 和我们之前介绍的方式是一样的
        Inner inner = new Inner();
        inner.jump();

    }


    public void run() {
        System.out.println("run...");
    }


    public class Inner {
        String name = "ls";


        public void jump() {
            String name = "zs";
            // 可以直接访问外部类的属性和方法
            System.out.println(name);
            System.out.println(this.name);

            // 外部类名.this.变量  访问外部类的成员变量
            System.out.println(Outter3.this.name);
            run();
        }
    }

    private class Inner2 {

        public void run() {
            System.out.println("inner2 run...");
        }

    }

    public Inner2 getInner2() {
        return new Inner2();
    }

}
